// pages/auth/auth.js

import { request } from "../../request/index.js";
import regeneratorRuntime from "../../lib/runtime/runtime";

import { login } from "../../utils/asyncWx.js";

Page({
  // 获取用户信息
  async handleGetUserInfo(e) {
    // console.log(e);
    /*
      1 获取用户信息
      encryptedData	是	string	执行小程序 获取用户信息后 得到
      rawData	      是	string	执行小程序 获取用户信息后 得到
      iv	          是	string	执行小程序 获取用户信息后 得到
      signature	    是	string	执行小程序 获取用户信息后 得到
    */
   try {
    const { encryptedData, rawData, iv, signature } = e.detail;
    // console.log(encryptedData, 
    //   rawData, 
    //   iv, 
    //   signature);
    
    // 2 利用封装号的请求函数获取小程序登录成功后的code
    const { code } = await login();
    // console.log(code);
    
    // 3.将所需的数据进行变量赋值同一收集
    const loginParams = { encryptedData, rawData, iv, signature, code };
    // console.log(loginParams);
    
    // console.log(code);
    // 3 发送请求 获取用户的token值
    const res = await request({ 
      url: "/users/wxlogin", 
      data: {
        loginParams
      }, 
      method:"post" 
    });

    // 4. 注意： 没有相应的企业(个人) Appid 是无法获取token的 
    console.log(res);
    

    // 5.将token设置到缓存中，同时跳转回回上一个页面
    wx.setStorageSync("token", token);
    wx.navigateBack({
      // delta 为1 就是返回上一页。 数字 2 为 返回上两页
      delta: 1
    });

   } catch (error) {
    console.log(error);
   }
  },
});
